package cn.achao.csr.api.model.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

/**
 * alipay.trade.page.pay(统一收单下单并支付页面接口)
 * @Author: achao
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AliTradePagePayDTO {

    /**
     * 商户订单号。
     * 由商家自定义，64个字符以内，仅支持字母、数字、下划线且需保证在商户端不重复。
     */
    @NotNull(message = "订单号不能为空")
    private String outTradeNo;

    /**
     * 订单总金额，单位为分。
     * 金额不能为0。
     */
    @NotNull(message = "订单总金额不能为空")
    @Min(value = 1, message = "totalAmount不能为0")
    private Long totalAmount;

    /**
     * 订单标题。
     * 注意：不可使用特殊字符，如 /，=，& 等。
     */
    @NotNull(message = "订单标题不能为空")
    private String subject;

    /**
     * 支付回调地址(只支持域名)
     */
    private String notifyUrl;

    /**
     * 支付成功跳转地址(只支持域名)
     */
    private String returnUrl;
}
